package com.agua.enturno.vista.dto;

import org.joda.time.Interval;
import org.joda.time.LocalDate;

import java.io.Serializable;

public class SemanaDTO implements Serializable {

	private static final long serialVersionUID = 1L;

	private DiaDTO lunes;
    private DiaDTO martes;
	private DiaDTO miercoles;
    private DiaDTO jueves;
    private DiaDTO viernes;
    private DiaDTO sabado;
    private DiaDTO domingo;
    
    
    public SemanaDTO(
    		DiaDTO horariosLunes, DiaDTO horariosMartes, DiaDTO horariosMiercoles, 
    		DiaDTO horariosJueves, DiaDTO horariosViernes, DiaDTO horariosSabado, 
    		DiaDTO horariosDomingo) {
		
    	this.lunes = horariosLunes;
		this.martes = horariosMartes;
		this.miercoles = horariosMiercoles;
		this.jueves = horariosJueves;
		this.viernes = horariosViernes;
		this.sabado = horariosSabado;
		this.domingo = horariosDomingo;
	}
    
    public boolean contieneLaFecha(LocalDate fecha) {
    	
    	Interval intervaloDeLaSemana = new Interval(lunes.getFecha().toDateTimeAtStartOfDay(), lunes.getFecha().plusWeeks(1).toDateTimeAtStartOfDay());
    	return intervaloDeLaSemana.contains(fecha.toDateTimeAtStartOfDay());
    }

	public DiaDTO getLunes() {
		return lunes;
	}

	public DiaDTO getMartes() {
		return martes;
	}

	public DiaDTO getMiercoles() {
		return miercoles;
	}

	public DiaDTO getJueves() {
		return jueves;
	}

	public DiaDTO getViernes() {
		return viernes;
	}

	public DiaDTO getSabado() {
		return sabado;
	}

	public DiaDTO getDomingo() {
		return domingo;
	}
    
}
